package com.hxzy.service.system.impl;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hxzy.dto.system.SysPostDTO;
import com.hxzy.entity.system.SysPost;
import com.hxzy.mapper.system.SysPostMapper;
import com.hxzy.service.system.SysPostService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Objects;
@Log4j2
@Service
public class SysPostServiceImpl extends ServiceImpl<SysPostMapper, SysPost> implements SysPostService {
    @Autowired
    private SysPostMapper sysPostMapper;
    @Override
    public IPage<SysPost> serch(SysPostDTO sysPostDTO) {
        LambdaQueryWrapper<SysPost> queryWrapper = new LambdaQueryWrapper<>();
        if (StrUtil.isNotBlank(sysPostDTO.getPostCode())){
            queryWrapper.likeRight(SysPost::getPostCode,sysPostDTO.getPostCode());
        }
        if (StrUtil.isNotBlank(sysPostDTO.getPostName())){
            queryWrapper.likeRight(SysPost::getPostName,sysPostDTO.getPostName());
        }
        if (StrUtil.isNotBlank(sysPostDTO.getStatus())){
            queryWrapper.likeRight(SysPost::getStatus,sysPostDTO.getStatus());
        }
        IPage<SysPost> page= PageDTO.of(sysPostDTO.getPage(),sysPostDTO.getSize());


        System.out.println("5156165"+sysPostDTO.getPage()+ sysPostDTO.getSize());
        System.out.println(this.page(page,queryWrapper));
        return this.page(page,queryWrapper);
    }

    @Override
    public SysPost findById(Long postId) {
        return sysPostMapper.findbyId(postId);
    }
}
